<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>LiquidFun: b2RevoluteJoint Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LiquidFun
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classb2_revolute_joint-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">b2RevoluteJoint Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="b2_revolute_joint_8h_source.html">b2RevoluteJoint.h</a>&gt;</code></p>

<p>Inherits <a class="el" href="classb2_joint.html">b2Joint</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7f266986c12009973fd74c9828b6c236"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7f266986c12009973fd74c9828b6c236"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a7f266986c12009973fd74c9828b6c236">GetAnchorA</a> () const </td></tr>
<tr class="memdesc:a7f266986c12009973fd74c9828b6c236"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the anchor point on bodyA in world coordinates. <br/></td></tr>
<tr class="separator:a7f266986c12009973fd74c9828b6c236"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a67ad189b29ea8ab6602a28697807f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a67ad189b29ea8ab6602a28697807f6"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a3a67ad189b29ea8ab6602a28697807f6">GetAnchorB</a> () const </td></tr>
<tr class="memdesc:a3a67ad189b29ea8ab6602a28697807f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the anchor point on bodyB in world coordinates. <br/></td></tr>
<tr class="separator:a3a67ad189b29ea8ab6602a28697807f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af270a3029b2573bf85cde345c22d65ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af270a3029b2573bf85cde345c22d65ab"></a>
const <a class="el" href="structb2_vec2.html">b2Vec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#af270a3029b2573bf85cde345c22d65ab">GetLocalAnchorA</a> () const </td></tr>
<tr class="memdesc:af270a3029b2573bf85cde345c22d65ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">The local anchor point relative to bodyA's origin. <br/></td></tr>
<tr class="separator:af270a3029b2573bf85cde345c22d65ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a985f788cffd53d7bb926b11cf77734e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a985f788cffd53d7bb926b11cf77734e4"></a>
const <a class="el" href="structb2_vec2.html">b2Vec2</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a985f788cffd53d7bb926b11cf77734e4">GetLocalAnchorB</a> () const </td></tr>
<tr class="memdesc:a985f788cffd53d7bb926b11cf77734e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The local anchor point relative to bodyB's origin. <br/></td></tr>
<tr class="separator:a985f788cffd53d7bb926b11cf77734e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfe881247b1f1f8f12aefd3a8f0cfd00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acfe881247b1f1f8f12aefd3a8f0cfd00"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#acfe881247b1f1f8f12aefd3a8f0cfd00">GetReferenceAngle</a> () const </td></tr>
<tr class="memdesc:acfe881247b1f1f8f12aefd3a8f0cfd00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the reference angle. <br/></td></tr>
<tr class="separator:acfe881247b1f1f8f12aefd3a8f0cfd00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab20fc12ce5ad5d84a032eb613c80764a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab20fc12ce5ad5d84a032eb613c80764a"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#ab20fc12ce5ad5d84a032eb613c80764a">GetJointAngle</a> () const </td></tr>
<tr class="memdesc:ab20fc12ce5ad5d84a032eb613c80764a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current joint angle in radians. <br/></td></tr>
<tr class="separator:ab20fc12ce5ad5d84a032eb613c80764a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48e4db13c187af159587d731656aa0c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48e4db13c187af159587d731656aa0c4"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a48e4db13c187af159587d731656aa0c4">GetJointSpeed</a> () const </td></tr>
<tr class="memdesc:a48e4db13c187af159587d731656aa0c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current joint angle speed in radians per second. <br/></td></tr>
<tr class="separator:a48e4db13c187af159587d731656aa0c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7711afbfbdba4451d2dbfa8e55b9ded8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7711afbfbdba4451d2dbfa8e55b9ded8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a7711afbfbdba4451d2dbfa8e55b9ded8">IsLimitEnabled</a> () const </td></tr>
<tr class="memdesc:a7711afbfbdba4451d2dbfa8e55b9ded8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the joint limit enabled? <br/></td></tr>
<tr class="separator:a7711afbfbdba4451d2dbfa8e55b9ded8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56bdfdd04e906e52d0258f6a481b9093"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56bdfdd04e906e52d0258f6a481b9093"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a56bdfdd04e906e52d0258f6a481b9093">EnableLimit</a> (bool flag)</td></tr>
<tr class="memdesc:a56bdfdd04e906e52d0258f6a481b9093"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable the joint limit. <br/></td></tr>
<tr class="separator:a56bdfdd04e906e52d0258f6a481b9093"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f33656869e46ec9405f42d68e858220"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f33656869e46ec9405f42d68e858220"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a0f33656869e46ec9405f42d68e858220">GetLowerLimit</a> () const </td></tr>
<tr class="memdesc:a0f33656869e46ec9405f42d68e858220"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the lower joint limit in radians. <br/></td></tr>
<tr class="separator:a0f33656869e46ec9405f42d68e858220"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bb683118879611e84e4cb26bdc8d39f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bb683118879611e84e4cb26bdc8d39f"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a9bb683118879611e84e4cb26bdc8d39f">GetUpperLimit</a> () const </td></tr>
<tr class="memdesc:a9bb683118879611e84e4cb26bdc8d39f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the upper joint limit in radians. <br/></td></tr>
<tr class="separator:a9bb683118879611e84e4cb26bdc8d39f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32f9393d8a6b993fd523f0f643c28107"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32f9393d8a6b993fd523f0f643c28107"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a32f9393d8a6b993fd523f0f643c28107">SetLimits</a> (float32 lower, float32 upper)</td></tr>
<tr class="memdesc:a32f9393d8a6b993fd523f0f643c28107"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the joint limits in radians. <br/></td></tr>
<tr class="separator:a32f9393d8a6b993fd523f0f643c28107"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9477b305db080e17dce8f2c6da0babb0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9477b305db080e17dce8f2c6da0babb0"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a9477b305db080e17dce8f2c6da0babb0">IsMotorEnabled</a> () const </td></tr>
<tr class="memdesc:a9477b305db080e17dce8f2c6da0babb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the joint motor enabled? <br/></td></tr>
<tr class="separator:a9477b305db080e17dce8f2c6da0babb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ed5a07d9a0e07d010808a73ffae6ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80ed5a07d9a0e07d010808a73ffae6ff"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a80ed5a07d9a0e07d010808a73ffae6ff">EnableMotor</a> (bool flag)</td></tr>
<tr class="memdesc:a80ed5a07d9a0e07d010808a73ffae6ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable the joint motor. <br/></td></tr>
<tr class="separator:a80ed5a07d9a0e07d010808a73ffae6ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56f60bb1ea69048c8a455da49d62bf65"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56f60bb1ea69048c8a455da49d62bf65"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a56f60bb1ea69048c8a455da49d62bf65">SetMotorSpeed</a> (float32 speed)</td></tr>
<tr class="memdesc:a56f60bb1ea69048c8a455da49d62bf65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the motor speed in radians per second. <br/></td></tr>
<tr class="separator:a56f60bb1ea69048c8a455da49d62bf65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ebdb2b410725d2c7999d8fce792e0da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ebdb2b410725d2c7999d8fce792e0da"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a5ebdb2b410725d2c7999d8fce792e0da">GetMotorSpeed</a> () const </td></tr>
<tr class="memdesc:a5ebdb2b410725d2c7999d8fce792e0da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the motor speed in radians per second. <br/></td></tr>
<tr class="separator:a5ebdb2b410725d2c7999d8fce792e0da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41779d7ec05be33e6368ef00123a3581"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41779d7ec05be33e6368ef00123a3581"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a41779d7ec05be33e6368ef00123a3581">SetMaxMotorTorque</a> (float32 torque)</td></tr>
<tr class="memdesc:a41779d7ec05be33e6368ef00123a3581"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum motor torque, usually in N-m. <br/></td></tr>
<tr class="separator:a41779d7ec05be33e6368ef00123a3581"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e990f811430b831967c856adfe452a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e990f811430b831967c856adfe452a0"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>GetMaxMotorTorque</b> () const </td></tr>
<tr class="separator:a1e990f811430b831967c856adfe452a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e5d6eb28f3f35e825cfc42dbd23d66e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a1e5d6eb28f3f35e825cfc42dbd23d66e">GetReactionForce</a> (float32 inv_dt) const </td></tr>
<tr class="separator:a1e5d6eb28f3f35e825cfc42dbd23d66e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85cdf204bf80dc0a4df6536e2e9a941e"><td class="memItemLeft" align="right" valign="top">float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a85cdf204bf80dc0a4df6536e2e9a941e">GetReactionTorque</a> (float32 inv_dt) const </td></tr>
<tr class="separator:a85cdf204bf80dc0a4df6536e2e9a941e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64579cb1db5e9674ec17244133c72920"><td class="memItemLeft" align="right" valign="top">float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#a64579cb1db5e9674ec17244133c72920">GetMotorTorque</a> (float32 inv_dt) const </td></tr>
<tr class="separator:a64579cb1db5e9674ec17244133c72920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9d88f5476c77a5c4a6ef5b2ad0d3e6f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9d88f5476c77a5c4a6ef5b2ad0d3e6f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_revolute_joint.html#aa9d88f5476c77a5c4a6ef5b2ad0d3e6f">Dump</a> ()</td></tr>
<tr class="memdesc:aa9d88f5476c77a5c4a6ef5b2ad0d3e6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump to b2Log. <br/></td></tr>
<tr class="separator:aa9d88f5476c77a5c4a6ef5b2ad0d3e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classb2_joint"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classb2_joint')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classb2_joint.html">b2Joint</a></td></tr>
<tr class="memitem:a37a2ca3f0d41c6903d2cc73757f02be2 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37a2ca3f0d41c6903d2cc73757f02be2"></a>
b2JointType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a37a2ca3f0d41c6903d2cc73757f02be2">GetType</a> () const </td></tr>
<tr class="memdesc:a37a2ca3f0d41c6903d2cc73757f02be2 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the concrete joint. <br/></td></tr>
<tr class="separator:a37a2ca3f0d41c6903d2cc73757f02be2 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ed5eca3dbdce48665c14452b280613f inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ed5eca3dbdce48665c14452b280613f"></a>
<a class="el" href="classb2_body.html">b2Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a2ed5eca3dbdce48665c14452b280613f">GetBodyA</a> ()</td></tr>
<tr class="memdesc:a2ed5eca3dbdce48665c14452b280613f inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the first body attached to this joint. <br/></td></tr>
<tr class="separator:a2ed5eca3dbdce48665c14452b280613f inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a700b3d4c87f34f456151b9598e4641a0 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a700b3d4c87f34f456151b9598e4641a0"></a>
<a class="el" href="classb2_body.html">b2Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a700b3d4c87f34f456151b9598e4641a0">GetBodyB</a> ()</td></tr>
<tr class="memdesc:a700b3d4c87f34f456151b9598e4641a0 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the second body attached to this joint. <br/></td></tr>
<tr class="separator:a700b3d4c87f34f456151b9598e4641a0 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a0e2137b631010750c728cb4e276e5d inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a0e2137b631010750c728cb4e276e5d"></a>
<a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a1a0e2137b631010750c728cb4e276e5d">GetNext</a> ()</td></tr>
<tr class="memdesc:a1a0e2137b631010750c728cb4e276e5d inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next joint the world joint list. <br/></td></tr>
<tr class="separator:a1a0e2137b631010750c728cb4e276e5d inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac83edb39806085608c9d549dd98550 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1ac83edb39806085608c9d549dd98550"></a>
const <a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetNext</b> () const </td></tr>
<tr class="separator:a1ac83edb39806085608c9d549dd98550 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a505ab02c234f1cc20aa3375f3ab7b587 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a505ab02c234f1cc20aa3375f3ab7b587"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a505ab02c234f1cc20aa3375f3ab7b587">GetUserData</a> () const </td></tr>
<tr class="memdesc:a505ab02c234f1cc20aa3375f3ab7b587 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the user data pointer. <br/></td></tr>
<tr class="separator:a505ab02c234f1cc20aa3375f3ab7b587 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a492f2d02496437572aaec6013ebdc1c8 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a492f2d02496437572aaec6013ebdc1c8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a492f2d02496437572aaec6013ebdc1c8">SetUserData</a> (void *data)</td></tr>
<tr class="memdesc:a492f2d02496437572aaec6013ebdc1c8 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the user data pointer. <br/></td></tr>
<tr class="separator:a492f2d02496437572aaec6013ebdc1c8 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a825d3a6abb32014f31fd622f2bfc0363 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a825d3a6abb32014f31fd622f2bfc0363"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a825d3a6abb32014f31fd622f2bfc0363">IsActive</a> () const </td></tr>
<tr class="memdesc:a825d3a6abb32014f31fd622f2bfc0363 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Short-cut function to determine if either body is inactive. <br/></td></tr>
<tr class="separator:a825d3a6abb32014f31fd622f2bfc0363 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09c6bdfa5842522ba381bac8dd559f4d inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a09c6bdfa5842522ba381bac8dd559f4d">GetCollideConnected</a> () const </td></tr>
<tr class="separator:a09c6bdfa5842522ba381bac8dd559f4d inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7804f649e993dc0fd9ae47fde5601f90 inherit pub_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7804f649e993dc0fd9ae47fde5601f90"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_joint.html#a7804f649e993dc0fd9ae47fde5601f90">ShiftOrigin</a> (const <a class="el" href="structb2_vec2.html">b2Vec2</a> &amp;newOrigin)</td></tr>
<tr class="memdesc:a7804f649e993dc0fd9ae47fde5601f90 inherit pub_methods_classb2_joint"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift the origin for any points stored in world coordinates. <br/></td></tr>
<tr class="separator:a7804f649e993dc0fd9ae47fde5601f90 inherit pub_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a2571c1438e909fb3518de6f88bb29e01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2571c1438e909fb3518de6f88bb29e01"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>b2RevoluteJoint</b> (const <a class="el" href="structb2_revolute_joint_def.html">b2RevoluteJointDef</a> *def)</td></tr>
<tr class="separator:a2571c1438e909fb3518de6f88bb29e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8f5a4b3fac025f0a0e5474b81667dfb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8f5a4b3fac025f0a0e5474b81667dfb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>InitVelocityConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr class="separator:af8f5a4b3fac025f0a0e5474b81667dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9971ccf2570c9bf8c2e816aa5c0db05a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9971ccf2570c9bf8c2e816aa5c0db05a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SolveVelocityConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr class="separator:a9971ccf2570c9bf8c2e816aa5c0db05a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad07e86dedb1f42c7d78129a65c0184fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad07e86dedb1f42c7d78129a65c0184fc"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>SolvePositionConstraints</b> (const <a class="el" href="structb2_solver_data.html">b2SolverData</a> &amp;data)</td></tr>
<tr class="separator:ad07e86dedb1f42c7d78129a65c0184fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classb2_joint"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classb2_joint')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classb2_joint.html">b2Joint</a></td></tr>
<tr class="memitem:a8d6cce91546335fe95325d5e29c06a19 inherit pro_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d6cce91546335fe95325d5e29c06a19"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>b2Joint</b> (const <a class="el" href="structb2_joint_def.html">b2JointDef</a> *def)</td></tr>
<tr class="separator:a8d6cce91546335fe95325d5e29c06a19 inherit pro_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ad4ce801fa7bdd408b41310793e6b37f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4ce801fa7bdd408b41310793e6b37f8"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localAnchorA</b></td></tr>
<tr class="separator:ad4ce801fa7bdd408b41310793e6b37f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae206b6bcc7b6527d7d18f239d20a7ae9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae206b6bcc7b6527d7d18f239d20a7ae9"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localAnchorB</b></td></tr>
<tr class="separator:ae206b6bcc7b6527d7d18f239d20a7ae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00d576701b8e2ee886e9a59811b4df65"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00d576701b8e2ee886e9a59811b4df65"></a>
<a class="el" href="structb2_vec3.html">b2Vec3</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_impulse</b></td></tr>
<tr class="separator:a00d576701b8e2ee886e9a59811b4df65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9275ac791803aa38c225d06b05ecfc26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9275ac791803aa38c225d06b05ecfc26"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_motorImpulse</b></td></tr>
<tr class="separator:a9275ac791803aa38c225d06b05ecfc26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fcdcbfc9fd51e8b5dc98ed8ea652e13"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8fcdcbfc9fd51e8b5dc98ed8ea652e13"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_enableMotor</b></td></tr>
<tr class="separator:a8fcdcbfc9fd51e8b5dc98ed8ea652e13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06ab30be0a455599bd3b5b6a11d6a43a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06ab30be0a455599bd3b5b6a11d6a43a"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_maxMotorTorque</b></td></tr>
<tr class="separator:a06ab30be0a455599bd3b5b6a11d6a43a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b6f51d7aa4b0132b12ec1091fdebfca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b6f51d7aa4b0132b12ec1091fdebfca"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_motorSpeed</b></td></tr>
<tr class="separator:a7b6f51d7aa4b0132b12ec1091fdebfca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb179e134ac49c612201caa20340e090"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adb179e134ac49c612201caa20340e090"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_enableLimit</b></td></tr>
<tr class="separator:adb179e134ac49c612201caa20340e090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7648b770a9165ee9cd97edcf2df6ed9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7648b770a9165ee9cd97edcf2df6ed9e"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_referenceAngle</b></td></tr>
<tr class="separator:a7648b770a9165ee9cd97edcf2df6ed9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c57732200aae93368481970731630b1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c57732200aae93368481970731630b1"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_lowerAngle</b></td></tr>
<tr class="separator:a7c57732200aae93368481970731630b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf7a2ab69e1e7a72697a2c9d92877c52"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf7a2ab69e1e7a72697a2c9d92877c52"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_upperAngle</b></td></tr>
<tr class="separator:adf7a2ab69e1e7a72697a2c9d92877c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bdab138718ea7ccab67a37d0499286d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2bdab138718ea7ccab67a37d0499286d"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_indexA</b></td></tr>
<tr class="separator:a2bdab138718ea7ccab67a37d0499286d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbf266a053a6f3071bfdd53e0e6b3df8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbf266a053a6f3071bfdd53e0e6b3df8"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_indexB</b></td></tr>
<tr class="separator:acbf266a053a6f3071bfdd53e0e6b3df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e33bbf932ce95efe072326199fa30f3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e33bbf932ce95efe072326199fa30f3"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_rA</b></td></tr>
<tr class="separator:a6e33bbf932ce95efe072326199fa30f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd72e453f92aa3214701a201c8f9dfe9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd72e453f92aa3214701a201c8f9dfe9"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_rB</b></td></tr>
<tr class="separator:afd72e453f92aa3214701a201c8f9dfe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70e2a385d097053453b4099094eb1154"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70e2a385d097053453b4099094eb1154"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localCenterA</b></td></tr>
<tr class="separator:a70e2a385d097053453b4099094eb1154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a322ec1f7c33a358db73b53ec58e3356b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a322ec1f7c33a358db73b53ec58e3356b"></a>
<a class="el" href="structb2_vec2.html">b2Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_localCenterB</b></td></tr>
<tr class="separator:a322ec1f7c33a358db73b53ec58e3356b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28cd428903a7c62914d3473a40857fd2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28cd428903a7c62914d3473a40857fd2"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invMassA</b></td></tr>
<tr class="separator:a28cd428903a7c62914d3473a40857fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fd153ad1fcb65084455f9884fa8b9d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4fd153ad1fcb65084455f9884fa8b9d7"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invMassB</b></td></tr>
<tr class="separator:a4fd153ad1fcb65084455f9884fa8b9d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a948a49144e282f7db22b1f20379c6099"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a948a49144e282f7db22b1f20379c6099"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invIA</b></td></tr>
<tr class="separator:a948a49144e282f7db22b1f20379c6099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c224fc59adebaa00590217ab8a2c685"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c224fc59adebaa00590217ab8a2c685"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_invIB</b></td></tr>
<tr class="separator:a7c224fc59adebaa00590217ab8a2c685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a284ae761074305d5032a2b666efb0650"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a284ae761074305d5032a2b666efb0650"></a>
<a class="el" href="structb2_mat33.html">b2Mat33</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_mass</b></td></tr>
<tr class="separator:a284ae761074305d5032a2b666efb0650"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aced7e455dd33ccb17a1d4ff9bb80c442"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aced7e455dd33ccb17a1d4ff9bb80c442"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_motorMass</b></td></tr>
<tr class="separator:aced7e455dd33ccb17a1d4ff9bb80c442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe77594f4773d21dabd8912d6630dc6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe77594f4773d21dabd8912d6630dc6a"></a>
b2LimitState&#160;</td><td class="memItemRight" valign="bottom"><b>m_limitState</b></td></tr>
<tr class="separator:abe77594f4773d21dabd8912d6630dc6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classb2_joint"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classb2_joint')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classb2_joint.html">b2Joint</a></td></tr>
<tr class="memitem:a3fd3f2532d108d81df81427815210a59 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3fd3f2532d108d81df81427815210a59"></a>
b2JointType&#160;</td><td class="memItemRight" valign="bottom"><b>m_type</b></td></tr>
<tr class="separator:a3fd3f2532d108d81df81427815210a59 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a940166e7b5d87cec1ad0603e0388854a inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a940166e7b5d87cec1ad0603e0388854a"></a>
<a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_prev</b></td></tr>
<tr class="separator:a940166e7b5d87cec1ad0603e0388854a inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad16778ba9c51cebb767ff7df6ed80b5 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad16778ba9c51cebb767ff7df6ed80b5"></a>
<a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_next</b></td></tr>
<tr class="separator:aad16778ba9c51cebb767ff7df6ed80b5 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a406ea423db1fe6484408d73df647f7b2 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a406ea423db1fe6484408d73df647f7b2"></a>
<a class="el" href="structb2_joint_edge.html">b2JointEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_edgeA</b></td></tr>
<tr class="separator:a406ea423db1fe6484408d73df647f7b2 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1041219dcd353ea815ebd78f904af547 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1041219dcd353ea815ebd78f904af547"></a>
<a class="el" href="structb2_joint_edge.html">b2JointEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_edgeB</b></td></tr>
<tr class="separator:a1041219dcd353ea815ebd78f904af547 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaebb784a51abb7d66de302ba07a4467 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abaebb784a51abb7d66de302ba07a4467"></a>
<a class="el" href="classb2_body.html">b2Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_bodyA</b></td></tr>
<tr class="separator:abaebb784a51abb7d66de302ba07a4467 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fd77fcbcb8a8a3729c7dc5b790d7200 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fd77fcbcb8a8a3729c7dc5b790d7200"></a>
<a class="el" href="classb2_body.html">b2Body</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_bodyB</b></td></tr>
<tr class="separator:a1fd77fcbcb8a8a3729c7dc5b790d7200 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae207295484bc040b6b52d96d63f1369f inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae207295484bc040b6b52d96d63f1369f"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_index</b></td></tr>
<tr class="separator:ae207295484bc040b6b52d96d63f1369f inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a777e45428d9a74d626f4afa1b45e1975 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a777e45428d9a74d626f4afa1b45e1975"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_islandFlag</b></td></tr>
<tr class="separator:a777e45428d9a74d626f4afa1b45e1975 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1a93c14c8dd666bb487db6c98daad33 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1a93c14c8dd666bb487db6c98daad33"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>m_collideConnected</b></td></tr>
<tr class="separator:ac1a93c14c8dd666bb487db6c98daad33 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8a31b6d5d6e76ccf7c975b2b3ae7366 inherit pro_attribs_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae8a31b6d5d6e76ccf7c975b2b3ae7366"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><b>m_userData</b></td></tr>
<tr class="separator:ae8a31b6d5d6e76ccf7c975b2b3ae7366 inherit pro_attribs_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a54ade8ed3d794298108d7f4c4e4793fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54ade8ed3d794298108d7f4c4e4793fa"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2Joint</b></td></tr>
<tr class="separator:a54ade8ed3d794298108d7f4c4e4793fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13c275221e30bb485e17e4e04553cb71"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13c275221e30bb485e17e4e04553cb71"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2GearJoint</b></td></tr>
<tr class="separator:a13c275221e30bb485e17e4e04553cb71"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_static_methods_classb2_joint"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classb2_joint')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classb2_joint.html">b2Joint</a></td></tr>
<tr class="memitem:a2e500c93107d0bf6b0a21654528faeab inherit pro_static_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e500c93107d0bf6b0a21654528faeab"></a>
static <a class="el" href="classb2_joint.html">b2Joint</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Create</b> (const <a class="el" href="structb2_joint_def.html">b2JointDef</a> *def, <a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator)</td></tr>
<tr class="separator:a2e500c93107d0bf6b0a21654528faeab inherit pro_static_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf52946b6672d77f268b849ccb09e003 inherit pro_static_methods_classb2_joint"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf52946b6672d77f268b849ccb09e003"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>Destroy</b> (<a class="el" href="classb2_joint.html">b2Joint</a> *joint, <a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator)</td></tr>
<tr class="separator:acf52946b6672d77f268b849ccb09e003 inherit pro_static_methods_classb2_joint"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A revolute joint constrains two bodies to share a common point while they are free to rotate about the point. The relative rotation about the shared point is the joint angle. You can limit the relative rotation with a joint limit that specifies a lower and upper angle. You can use a motor to drive the relative rotation about the shared point. A maximum motor torque is provided so that infinite forces are not generated. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a64579cb1db5e9674ec17244133c72920"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float32 b2RevoluteJoint::GetMotorTorque </td>
          <td>(</td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>inv_dt</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the current motor torque given the inverse time step. Unit is N*m. </p>

</div>
</div>
<a class="anchor" id="a1e5d6eb28f3f35e825cfc42dbd23d66e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structb2_vec2.html">b2Vec2</a> b2RevoluteJoint::GetReactionForce </td>
          <td>(</td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>inv_dt</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the reaction force given the inverse time step. Unit is N. </p>

<p>Implements <a class="el" href="classb2_joint.html#a7e0eddefb9b69ad050b8ef6425838a74">b2Joint</a>.</p>

</div>
</div>
<a class="anchor" id="a85cdf204bf80dc0a4df6536e2e9a941e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float32 b2RevoluteJoint::GetReactionTorque </td>
          <td>(</td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>inv_dt</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the reaction torque due to the joint limit given the inverse time step. Unit is N*m. </p>

<p>Implements <a class="el" href="classb2_joint.html#ae355e441c2aa842777dc04e24f15ced0">b2Joint</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="b2_revolute_joint_8h_source.html">b2RevoluteJoint.h</a></li>
<li>b2RevoluteJoint.cpp</li>
</ul>
</div><!-- contents -->
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46159502-1', 'auto');
ga('create', 'UA-49880327-7', 'auto', {'name': 'liquidFunTracker'});
ga('send', 'pageview');
ga('liquidFunTracker.send', 'pageview');
</script>
</body>
</html>
